# %% [markdown]
# ## while循环

# %%
count = 0

while count <= 9:
    print(count)
    count += 1  # count = count + 1

# %% [markdown]
# 不想每打印一个数 就打印一次回车：

# %%
# 字符串拼接法
result = ''
count = 0

while count <= 9:
    result += (str(count) + ' ')
    count += 1  # count = count + 1
    
print(result)

# %%
# 令 end=' '

count = 0

while count <= 9:
    print(count, end=' ') # 参数end: 打印完内容后，再打印 end内容，默认‘\n’
    count += 1

print('end')

# %%
count = 0

while count <= 9:
    print(count, end=' ') 
    count += 1  # count = count + 1
    
print() # 换行
print('Done')

# %% [markdown]
# ## while...else语句

# %%
# while语句执行完之后，自动执行 else里的内容

count = 0

while count <= 9:
    print(count, end=' ')
    count += 1

else:
    print('end')

# %% [markdown]
# ## for循环
# 每次循环，会从集合中取得一个元素，并执行一次代码块，直到集合中所有的元素都获取
# 
# 可以遍历的对象有：序列(字符串、列表、元组) 、字典、迭代器对象(iterator) 、生成器函数文件对象

# %%
# 列表 -- 可迭代对象
names = ['Tom', 'Peter', 'Jerry', 'Jack']

# 遍历列表
for name in names:
    print(name)

# %%
# range()：构造range对象，可迭代
# list()：强转为列表类型

list(range(4))

# %%
for i in range(len(names)): # len(names)为 4
    
    print(i, names[i])

# %% [markdown]
# ## 循环嵌套

# %% [markdown]
# ### while嵌套

# %%
# 打印九九乘法表
j = 1
while j <= 9:
    i = 1
    
    while i <= j:
        
        # 格式化输出
        print("%d*%d=%d"%(j, i, i*j), end='\t')
        i += 1
        
    print()
    j += 1

# %% [markdown]
# ### for嵌套

# %%
# 生成可迭代对象，step为2
list(range(1, 10, 2))

# %%
# 左闭右开 [1, 10)，step默认为1
for j in range(1, 10):
    
    for i in range(1, j+1):
        print("%d*%d=%d"%(j, i, i*j), end='\t')
       
    print()

# %% [markdown]
# 


